maximum using derivatives